//
// Created by Administrator on 2024/3/25.
//
#include<bits/stdc++.h>

using namespace std;

int main() {
    int T;
    cin >> T;
    while (T--) {
        int n;
        cin >> n;
        vector<int> a(n);
        for (int i = 0; i < n; i++)cin >> a[i];

        vector<int> dp(n);//dp[i] 代表以a[i]结尾的 最大子序列的和

        dp[0] = a[0];
        for (int i = 1; i < n; i++) {
            dp[i] = max(a[i], a[i] + dp[i - 1]);
            //dp[i] 代表以a[i]结尾的 最大子序列的和,a[i]一个序列
            //或者在 a[i-1]基础上延伸
        }


        cout << *max_element(dp.begin(), dp.end()) << endl;


    }

    return 0;
}